package com.hyy.trigger.machine;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Satroler on 2017/9/4.
 */
public class ActionSource<T> {
    String calltext;//原始测话
    String cleartext = "";//清洗之后的
    String moodtext = "";//情感词
    List<T> tokens;//分词结果
    String channel;//手机号
    String fromStatus;//状态
    List<String> actions = new ArrayList<>();
    SAsrInfo asrInfo;//跳转信息
    int pid;//项目id

    Logger logger = LoggerFactory.getLogger(ActionSource.class);

    public ActionSource(String calltext, String channel, String fromStatus, SAsrInfo asrInfo) {
        this.calltext = calltext;
        this.channel = channel;
        this.fromStatus = fromStatus;
        this.asrInfo = asrInfo;
    }

    public ActionSource(String calltext, String channel, SAsrInfo asrInfo) {
        this.calltext = calltext;
        this.channel = channel;
        this.asrInfo = asrInfo;
    }

    public void addActProcess(String actName){
        this.actions.add(actName);
    }

    public ActionSource() {
    }

    public String getCleartext() {
        return cleartext;
    }

    public void setCleartext(String cleartext) {
        this.cleartext = cleartext;
    }

    public String getMoodtext() {
        return moodtext;
    }

    public void setMoodtext(String moodtext) {
        this.moodtext = moodtext;
    }

    public List<T> getTokens() {
        return tokens;
    }

    public void setTokens(List<T> tokens) {
        this.tokens = tokens;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getFromStatus() {
        return fromStatus;
    }

    public void setFromStatus(String fromStatus) {
        this.fromStatus = fromStatus;
    }

    public List<String> getActions() {
        return actions;
    }

    public void setActions(List<String> actions) {
        this.actions = actions;
    }

    public SAsrInfo getAsrInfo() {
        return asrInfo;
    }

    public void setAsrInfo(SAsrInfo asrInfo) {
        this.asrInfo = asrInfo;
    }

    public Logger getLogger() {
        return logger;
    }

    public void setLogger(Logger logger) {
        this.logger = logger;
    }

    public String getCalltext() {

        return calltext;
    }

    public void setCalltext(String calltext) {
        this.calltext = calltext;
    }

    @Override
    public String toString() {
        return "ActionSource{" +
                "calltext='" + calltext + '\'' +
                ", cleartext='" + cleartext + '\'' +
                ", moodtext='" + moodtext + '\'' +
                ", tokens=" + tokens +
                ", channel='" + channel + '\'' +
                ", fromStatus='" + fromStatus + '\'' +
                ", actions=" + actions +
                ", asrInfo=" + asrInfo +
                '}';
    }
}
